{"ID":0,"Name":"Не сохраняет поля модели Yii","Content":"\u003cp\u003eНаткнулся на траблу с сохранением с использованием AR в Yii\u003c/p\u003e\n\u003cpre name=\"code\" class=\"php\"\u003e\n        public function actionProfile(){\n            $user = User::model()-\u003efindByPk(Yii::app()-\u003euser-\u003eid);\n            if($user === null) throw new CHttpException(403, 'access denied');\n            \n            if(isset($_POST['ajax']) \u0026\u0026 $_POST['ajax']==='user-form'){\n               echo CActiveForm::validate($user);\n               Yii::app()-\u003eend();\n            }\n            if(isset($_POST['User'])){\n                    $user-\u003eattributes = $_POST['User'];\n                    if($user-\u003esave()){\n                        Yii::app()-\u003euser-\u003esetFlash('success', \"Профиль обновлен\");\n                    }\n            }\n            \n            $this-\u003erender('profile',array(\n                'user' =\u003e $user\n                )\n            );\n        }\n\u003c/pre\u003e\n\u003cp\u003eВыглядит все это бодрячком, метод save() работает, ставится флеш. Но поля не обновляются, хоть убей. \u003c/p\u003e\n\u003cp\u003eРешение-костыль работало, но захотелось узнать что же я делаю не так\u003c/p\u003e\n\u003cpre name=\"code\" class=\"php\"\u003e\nforeach($_POST['User'] as $name=\u003e$value){\n   $user-\u003e$name=$value;\n}\n\u003c/pre\u003e\n\u003cp\u003eНачал копать, пытаясь понять что же происходит этакое\u003c/p\u003e\n\u003cpre name=\"code\" class=\"php\"\u003e\n$user-\u003eattributes = $_POST['User'];\n                    var_dump($_POST['User']);\n                    var_dump($user-\u003eattributes);\n\u003c/pre\u003e\n\u003cp\u003eПо ходу раскопок оказалось что  модель CActiveRecord не полная - тоесть поля в базу добавлялись, а модель не перегенерировалась gii. Валидацию эта штука проходит, поскольку валидирует лишь те поля что прописаны в модели.\u003c/p\u003e\n\u003chr/\u003e\n\u003cp\u003e\u003cb\u003eSolution\u003c/b\u003e: add new database fields to your AR-model or regenerate it using gii\u003c/p\u003e","Tag":"php","Url":"/art/52/yii-model-dont-saved.aspx","ShortDescription":"","Alias":"","Visible":0,"Title":"Не сохраняет поля модели Yii","Key":"","Description":"Проблема с сохранением полей посредством Yii AR"}
